package com.jz.netthings.analysis.service;

import com.baomidou.mybatisplus.service.IService;
import com.jz.netthings.analysis.bean.ProviderRoundBase;
import com.jz.netthings.analysis.bean.link.NurseLinkProviderStatistics;
import com.jz.netthings.exception.AdscmSystemException;

import java.util.List;
import java.util.Map;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author 杨云云
 * @since 2019-08-29
 */
public interface NurseLinkProviderStatisticsService extends IService<NurseLinkProviderStatistics> {


    /**
     * 装载护士链接的综合统计信息
     * @throws AdscmSystemException
     */
    void loadNurseLinkProviderStatistics() throws AdscmSystemException;


    /**
     * 得到所有链接护士的链接数量
     * @return
     * @throws AdscmSystemException
     */
    List<Map<String,String>> getLinkNursePCount() throws AdscmSystemException;

    /**
     * 根据护士，查询护士链接的所有浆员类型及浆员数量、根据村落分组的浆员数量
     * @param nurseId
     * @return
     * @throws AdscmSystemException
     */
    Map<String ,Map<String,Object>> getLinkNurseAllTypeProvider(Integer nurseId) throws AdscmSystemException;

    /**
     * 根据护士、浆员类型及村落名称，查询浆员的轮次信息
     * @param nurseId
     * @param type
     * @param villName
     * @return
     * @throws AdscmSystemException
     */
    List<ProviderRoundBase> getProviderRoundByCondition(Integer nurseId, String type, String villName) throws AdscmSystemException;

}
